package com.druid.request.openai.chat;

import com.druid.request.openai.OpenAIApiRequest;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

@Data
public class OpenAIRequestBaseAbstract implements OpenAIApiRequest {

    /**
     * OpenAI GPT 模型 ID
     */
    @JsonProperty("model")
    protected String modelId;

    /**
     * 最大生成 tokens 数量
     */
    @JsonProperty("max_tokens")
    protected int maxTokens;

    /**
     * 控制生成文本的创造性程度，值越低越保守，值越高越有创造性
     */
    @JsonProperty("temperature")
    protected double temperature;

    /**
     * 停止生成文本的标记，当生成文本中出现这个标记时，生成文本会在这个标记之前截断
     */
    @JsonProperty("stop")
    protected String stop;

    /**
     * 请求的用户 ID，用于跟踪请求和确保在同一个会话中保持一致性
     */
    @JsonProperty("user")
    protected String userId;
}
